/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Conexion;

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Admin
 */
public class Conecxion {
    
    private Connection conn;// se crea variable con la base de datos
    
    
    public Conecxion(String pNombreDB,String pUser, String pPassword)throws ClassNotFoundException{
        try{
            String driver = "org.postgresql.Driver"; // se asigna el driver de conexion con base de datos
            Class.forName(driver);
            String connString="jdbc:postgresql://localhost:5432/" + pNombreDB; //
            String user = pUser;
            String password = pPassword;
            
            this.conn = DriverManager.getConnection(connString,user,password);
            System.out.println("Conexion realizada con exito");
            
        }
        catch(SQLException e){
            System.out.println(pPassword);
        }
    }
    
        public ResultSet select(String pCampos, String pTabla, String pCondicion){
          ResultSet rs = null; //obtener los datos del select
          Statement s = null; // se utiliza para inicializar la conexión
          String sentencia = "";
          try{
              s = this.conn.createStatement();
              sentencia =" Select " + pCampos + " from " + pTabla; // se crea el select
              if(!pCondicion.isEmpty())
              {
                  sentencia+=" where "+pCondicion;
              }
              rs = s.executeQuery(sentencia); // 
          }
          catch(Exception e){
              System.out.printf("Error: "+ e.toString());
              
          }
        return rs;
      }


        public boolean Insert(String Tabla,String Campos)
        {
               ResultSet rs = null; //obtener los datos del select
          Statement s = null; // se utiliza para inicializar la conexión
          String sentencia = "";
          try{
              s = this.conn.createStatement();
              sentencia ="INSERT INTO " + Tabla + " values (" + Campos + " )"; // se crea el Insert
              s.execute(sentencia);
              return true;
          }
          catch(Exception e){
              System.out.printf("Error: "+ e.toString());
              return false;
          }
         
        }
        public boolean Actualizar(String Tabla,String Cambio,String Condicion)
                {
                   
                           ResultSet rs = null; //obtener los datos del select
          Statement s = null; // se utiliza para inicializar la conexión
          String sentencia = "";
          try{
              s = this.conn.createStatement();
              sentencia ="UPDATE " + Tabla + " SET " + Cambio + " WHERE "+Condicion; // se crea el Insert
              s.execute(sentencia);
              return true;
          }
          catch(Exception e){
              System.out.printf("Error: "+ e.toString());
              return false;
          }
                    
                }
              
        
         public boolean Delete(String Tabla,String Condicion)
        {
               ResultSet rs = null; //obtener los datos del select
          Statement s = null; // se utiliza para inicializar la conexión
          String sentencia = "";
          try{
              s = this.conn.createStatement();
              sentencia ="DELETE FROM " + Tabla + " WHERE " + Condicion; // se crea el delete
              s.execute(sentencia);
              return true;
          }
          catch(Exception e){
              System.out.printf("Error: "+ e.toString());
              return false;
          }
         
        }
    
}
